A media content provider or distributor may transmit media contents to streaming clients, which may take the form of various user end devices, such as televisions, notebook computers, and mobile handsets. Media content may comprise a Media Presentation Description (MPD) and a plurality of segments, which may be delivered over a network. The MPD may be an extensible markup language (XML) file or document describing the media content, such as its various representations, Uniform Resource Locator (URL) addresses, and other characteristics. For example, the media content may comprise several media components (e.g., audio, video, and text), each of which may have different characteristics that are specified in the MPD. Each media component comprises a plurality of media segments containing the parts of actual media content, and the segments may be stored collectively in a single file or individually in multiple files. Each segment may contain a pre-defined byte size (e.g., 1,000 bytes) or an interval of playback time (e.g., 2 or 5 seconds) of the media content.
Media content may be delivered from a streaming server to a streaming client adaptively based on a variety of factors, such as network conditions, device capability, and user choice. Upon reception of the media, the streaming client may parse the media to extract information from within. Adaptive streaming technologies may include various technologies or standards implemented or being developed, such as Dynamic Adaptive Streaming over Hypertext Transfer Protocol (HTTP) (DASH), HTTP Live Streaming (HLS), Adaptive Transport Streaming (ATS), or Internet Information Services (IIS) Smooth Streaming. DASH defines a manifest format, MPD, and segment formats for International Organization for Standardization (ISO) Base Media File Format (ISO-BMFF) and Moving Picture Experts Group (MPEG) 2 (MPEG-2) Transport Streams.
DASH is a standard developed to provide media content and is partially described in ISO/International Electrotechnical Commission (IEC) 23009-1, First Edition, 2012 (“23009-1”), which is incorporated herein by reference as if reproduced in its entirety. For content encryption, MPEG has developed certain frameworks, e.g., the frameworks recounted in ISO/IEC documents numbered 23001-7, titled “MPEG systems technologies—Part 7: Common encryption in ISO base media file format files,” and 23009-4, titled “Dynamic Adaptive Streaming over HTTP (DASH)—Part 4: Segment Encryption and Authentication” (ISO/IEC 23009-4) (referred to herein as “Part 4”), both of which are incorporated herein by reference as if reproduced in their entirety.
DASH comprises at least two devices, one or more HTTP servers that provide the content and the DASH client that downloads the content and is associated with the viewer, or user. DASH leaves control with the client, which can request content using the HTTP protocol. DASH is dynamic and adaptive; the client may choose from among multiple forms of content, or data, based on a variety of factors such as network conditions, device capability, and user choice. For example, the HTTP server may inform the client of different download bit rates, the client may choose one of the bit rates, and the client may begin downloading segments of data at the chosen bit rate. If for some reason network conditions deteriorate, then the client may change to a lower bit rate and begin downloading segments of data at the new bit rate. DASH's adaptability therefore ensures that the client consumes less than the available bandwidth.